/*************************************************************************
                           Point2D  -  description
                             -------------------
    début                : 21 févr. 2012
    copyright            : (C) 2012 par francois
*************************************************************************/

//---------- Réalisation de la classe <Point2D> (fichier Point2D.cpp) -------

//---------------------------------------------------------------- INCLUDE

//-------------------------------------------------------- Include système
using namespace std;
#include <iostream>

//------------------------------------------------------ Include personnel
#include "Point2D.h"
#include "Vector2D.h"

namespace livgeo {

//------------------------------------------------------------- Constantes

//----------------------------------------------------------------- PUBLIC

//----------------------------------------------------- Méthodes publiques

//------------------------------------------------- Surcharge d'opérateurs
Vector2D Point2D::operator-(const Point2D& p) const
{
	return Vector2D(x - p.x, y - p.y);
}

Point2D& Point2D::operator+=(const Vector2D& vect)
{
	x += vect.getX();
	y += vect.getY();
	return (*this);
}

Point2D& Point2D::operator-=(const Vector2D& vect)
{
	x -= vect.getX();
	y -= vect.getY();
	return (*this);
}

Point2D Point2D::operator+(const Vector2D& vect) const
{
	Point2D p(*this);
	p += vect;
	return p;
}

Point2D Point2D::operator-(const Vector2D& vect) const
{
	Point2D p(*this);
	p -= vect;
	return p;
}


//-------------------------------------------- Constructeurs - destructeur
Point2D::Point2D ( ) :
		x(0), y(0)
{
} //----- Fin de Point2D


Point2D::Point2D(float x, float y) :
		x(x), y(y)
{
} //----- Fin de Point2D

Point2D::Point2D(const Vector2D& vect) :
		x(vect.getX()), y(vect.getY())
{

}

Point2D::~Point2D ( )
{
} //----- Fin de ~Point2D


//------------------------------------------------------------------ PRIVE

//----------------------------------------------------- Méthodes protégées

}; // ----- fin de livgeo
